import React from 'react';
import { BrowserRouter, Switch, Route, Redirect } from 'react-router-dom';
import routes from './router';

class App extends React.Component {
    render() {
        return (
            <BrowserRouter>
                <Switch>
                    {routes.map((item, index) => {
                        return (
                            <Route
                                key={index}
                                path={item.path}
                                render={(props) => {
                                    // 不需要校验登录的页面
                                    if (item.noLogin) {
                                        return <item.component {...props} />;
                                    }
                                    let token = window.sessionStorage.getItem(
                                        'token',
                                    );
                                    if (token) {
                                        return (
                                            <item.component
                                                {...props}
                                                routes={item.children || []}
                                            />
                                        );
                                    }
                                    // 需要校验登录的页面，但是没有 token
                                    return <Redirect to="/login" />;
                                }}
                            />
                        );
                    })}
                </Switch>
            </BrowserRouter>
        );
    }
}

export default App;
